home *** CD-ROM | disk | FTP | other *** search
- /////////////////////////////////////////////////////////////
- // Identify page as enabled for Media Center. This avoids a warning dialog to user.
- function IsMCEEnabled()
- {
- return true
- }
-
- /////////////////////////////////////////////////////////////////
- // Scaling elements for page resize
- function onScaleEvent(vScale)
- {
- try
- {
- body.style.zoom=vScale;
- // when page gets resized, reset positions and sizes of focusable elements
- setArray()
- }
- catch(e)
- {
- // ignore error
- }
- }
-
- var nFullScreen = 0
- function backFromFullScreen()
- {
- if (nFullScreen == 0)
- {
- nFullScreen = 1
- return false
- }
- else return true
- }
-
-
- /////////////////////////////////////////////////////////////////
- // determine which remote control key the user selected
- // and take appropriate action
- function onRemoteEvent(keyChar)
- {
- /* Call optional "doOnFocus" function if needed; you can locate this function on the HTML page, and use it to tie some
- custom functionality to a remote-control keypress. If you want to stop onRemoteEvent from moving focus after that,
- return true in the doOnFocus function to indicate that remote control keypress is already being handled in some other way */
- try
- {
- if (doOnFocus(keyChar) == true)
- {
- return true;
- }
- }
- catch(e)
- {
- // if doOnFocus function is not present on page, ignore error
- }
- try
- {
- // this switch tests to see which button on the remote is pressed
- switch (keyChar)
- {
- case 38: // Up button selected
- changeFocus("up");
- break;
-
- case 40: // Down button selected
- changeFocus("down");
- break;
-
- case 37: // Left button selected
- changeFocus("left");
- break;
-
- case 39: // Right button selected
- changeFocus("right");
- break;
-
- case 13: // Enter button selected, execute link to content/page
- doSelect();
- return true;
- break;
-
- case 8: // Keyboard Backspace selected
- return false;
- break;
-
- case 166: // Remote Control Back button selected; Media Center will already perform a Back
- return false; // navigation when this is pressed, but this case can be used to add additional
- break; //functionality to Back button
-
- case 33: // Page up (plus) selected; page-up scrolling menu
- pageUpDown("up");
- return true;
- break;
-
- case 34: // Page down (minus) selected; page-down scrolling menu
- pageUpDown("down");
- return true;
- break;
-
- default:
- return false;
- // ignore all other clicks
- }
- }
- catch(ex)
- {
- //ignore error
- }
- return true
- }
-
-
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Set background color for Shared Viewport and MCE toolbars that appear when you move mouse
- function setBGColor(Color)
- {
- try
- {
- window.external.MediaCenter.BGColor = Color
- }
- catch(e)
- {
- // not using Media Center, or attribute not set
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /* For Media Center 2003 version, test onload event to see if variables are reset; if they are not, this
- means that user is returning from some Media Center view, such as full-screen video mode or my TV.
- If this is the case, you want to ignore your page's onload event. In the current version of Media Center,
- the page does not fire an onload event when this happens, so this function will not be necessary */
-
- var backFromMediaCenter = false
- function continueOnloadFunctions()
- {
- if (backFromMediaCenter == false) // meaning variable has been reset to its default state
- {
- // set variable to true and return
- backFromMediaCenter = true
- return
- }
- /* otherwise, page variables have not been reset, so you do not want to continue to call
- your page initilizing functions. Return false */
- return false
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // This function tests to see if you need to open a Viewport for media playback
- function needViewport()
- {
- // if Shared or Custom Viewport is already visible, return false
- if (window.external.MediaCenter.SharedViewPort.Visible == true || window.external.MediaCenter.CustomViewPort.Visible == true)
- {
- return false
- }
- // if there is no media playing, return false
- if(window.external.MediaCenter.Experience.PlayState == -1) return false
- // otherwise return true
- return true
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // This function detects what version of Media Center the user is running. It will return year as string, such as "2005"
- function showMCEVersion()
- {
- try
- {
- var nMajVer = window.external.MediaCenter.MajorVersion
- }
- catch (e)
- {
- return null
- }
- if (nMajVer < 7) return "2004"
- if (nmajVer = 7) return "2005"
- // in case above fails, return null
- return null
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // This function detects whether user is in a remote session on a Media Center Extender device
- // detect whether user is in a remote session on a Media Center Extender device
- function IsMCExtender()
- {
- try
- {
- // if this is not a console session ...
- if (window.external.MediaCenter.Capabilities.IsConsole == false)
- {
- /* ...then it is either a Media Center Extender session or a traditional Remote Desktop session.
- To tell which type of session it is, check if video is allowed. If video is allowed... */
- if (window.external.MediaCenter.Capabilities.IsVideoAllowed == true)
- {
- // ... then it is an extender session, so return true
- return true
- }
- // Media Center does not allow video in a traditional Remote Desktop session. So if video is not allowed ...
- else
- {
- /* IsConsole and IsVideoAllowed are both false false, so user is accessing through a traditional Remote
- Desktop session, rather than from an extender device. That means that they probably have access to a keyboard
- and mouse, but they cannot play video. If your application features video playback, you may want to
- adjust your functionality for this user accordingly.
- Returning false simply indicates that this is not an Extender session. */
- return false
- }
- }
- else
- {
- // If not, this is a Media Center session on the console PC, so return false
- return false
- }
- }
- catch(e)
- {
- /* If above cause errors, user is probably accessing from a browser outside of Media Center.
- Return false to indicate that it is not an extender session. */
- return false
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Function for reloading page
- function reloadPage()
- {
- /* This function refreshes the page, and calls the onScaleEvent function
- to manage resizing of the elements on the page */
- window.location.reload()
- // determine width of page
- var newWidth = body.getBoundingClientRect().right
- // determine how much the page needs to be resized, by comparing page width to 1024
- var sizeAmount = (newWidth/1024)
- // call onScaleEvent function
- onScaleEvent(sizeAmount)
- }
-